//导入用户集合构造函数
const { User } = require('../../modle/user')

module.exports = async(req, res) => {
    //接收请求参数
   // res.send(req.body);
   const {email,password} = req.body; //对email和password进行解构操作
   //如果用户没有输入邮件地址
   //if (email.trim().length ==0 || password.trim().length == 0) return res.status(400).send('<h4>邮件地址错误或者密码错误</h4>');
   if (email.trim().length ==0 || password.trim().length == 0) return res.status(400).render('admin/error', {msg:'邮件地址错误或者密码错误'});
   //根据邮箱地址查询用户信息
   //如果查询到了用户 user变量的值是对象类型 
   //如果没有查询到用户 user变量为空
   let user = await User.findOne({email});
   //查询到了用户
   if (user) {
       //将客户端传递过来的密码和用户信息中的密码进行比对
       if (password == user.password) {
           //登录成功
           req.session.username =user.username;
           req.session.role =user.role;
          
           //res.send('登录成功')
           //将用户名存储在请求对象中，存在locals中
           req.app.locals.userInfo = user;
           if (user.role == 'admin') {
               //登录成功后利用重定向，实现登录页跳转到列表页
               res.redirect('/admin/user');
           }else {
               //重定向到博客文章页面
               res.redirect('/home/index');
           }
           
       }else {
           //没有查询到用户
           res.status(400).render('admin/error', {msg:'邮件地址错误或者密码错误'})
       }
   }else {
       //没有查询到用户
       res.status(400).render('admin/error', {msg:'邮件地址错误或者密码错误'})
   }
   
};